#ifndef CUSTOMPROGRESSWIDGET_H
#define CUSTOMPROGRESSWIDGET_H

#include <QWidget>
#include <QPainter>
#include <QString>

class CustomProgressWidget : public QWidget {
    Q_OBJECT
public:
    explicit CustomProgressWidget(QWidget *parent = nullptr);

    // 设置进度条范围（确定 0 点的位置）
    void setRange(double min, double max);

    // 设置左右进度条的值
    void setMinMax(double leftValue, double rightValue);

    void setValue(double value);

    // 设置单位
    void setUnit(const QString &unit);

    // 获取进度条范围
    double getRangeMin() const;
    double getRangeMax() const;

    // 获取左右进度条的值
    double getLeftValue() const;
    double getRightValue() const;

    // 获取单位
    QString getUnit() const;

protected:
    void paintEvent(QPaintEvent *event) override;

private:
    double m_rangeMin;    // 进度条范围最小值
    double m_rangeMax;    // 进度条范围最大值
    double m_leftValue;   // 左进度条的值
    double m_rightValue;  // 右进度条的值
    QString m_unit;    // 单位
};

#endif // CUSTOMPROGRESSWIDGET_H
